草庐IT

MySQL CREATE TABLE & FOREIGN KEY 错误

全部标签

ruby - 在 Ruby 中,当没有正确的英语 "<verb>able"时,mixins 的命名约定是什么?

示例:我有一个Person类和一个Role类。我想将Role和Person中的角色功能提取到混合中。我得到了两个mixins:Actable包含在Role中,Adaptable用于Person。我有时想不出合适的英文单词。在上面的例子中,适应性似乎更适合角色而不是人,因为角色可以适应,因此是适应性强的。一个更好的名字是versatile但这打破了mixin名字以...able结尾的惯例。(虽然它仍然是一个形容词。)另一个例子是当我想添加一个允许检查的模块时,如果一个人被允许查看其他人。你如何找到以...结尾的名字?Viewable似乎不合适,可以查看的人应该是可见的。我现在坚持使用sh

ruby-on-rails - pg_search 使用 associated_against 给出错误 "column [model_name].[associated_column_name] does not exist"

我正在尝试使用pg_search来搜索关联模型。当我运行搜索时,出现错误“PG::Error:ERROR:columnplans.namedoesnotexist”。我正在“计划”模型中运行搜索,并尝试针对“地点”与列“名称”的关联进行搜索。连接这些的has_many:through模型是多态的。不知何故,sql查询将两者结合起来并抛出错误。我已经运行了associated_against迁移(railsgpg_search:migration:associated_against),搜索了文档,并寻找其他有错误的人,但一无所获,一定是我只是忽略了一些东西。如果我只是删除plan.rb

ruby - ruby Date.today 和 DateTime.now 的日期错误

我已经使用RVM安装了ruby​​-1.8.6-p383。系统ruby是1.9.1_p378-1我在使用ruby​​1.8时从Date.today和DateTime.now得到错误的日期。而Time.now是正确的:irb(main):002:0>DateTime.now.to_s=>"2126--1-10618T11:23:43+00:00"irb(main):004:0>Date.today.to_s=>"2126--1-10618"irb(main):005:0>Time.now=>ThuJan2811:55:27+00002010如果我切换到ruby​​1.9,一切都很好:ir

ruby-on-rails - resque-web 启动失败,出现 500 服务器错误

我正在按照配置指南安装resque.我遇到了(OpenURI::HTTPError)。我正在使用RVM1.9.2-p180、rails3.0.6和POW.'resque-web'无法启动并出现500服务器错误。这到底是怎么回事?复制问题:用$redis-server启动redis使用$VVERBOSE=1QUEUE=file_serverakeenvironmentresque:work启动一个worker尝试启动Resque-Web:RAILS_ENV=developmentresque-webconfig/initializers/resque.rb配置/resque.ymldev

ruby - Rails 3 db :migrate 的未定义方法 `visitor'

我在Rails3中进行数据库迁移时遇到异常。undefinedmethod`visitor'for#编辑请查看解决方案here.在我的项目中没有出现字符串visitor所以我很困惑。这是完整的转储:$rakedb:migrate--trace**Invokedb:migrate(first_time)**Invokeenvironment(first_time)**Executeenvironment**Invokedb:load_config(first_time)**Invokerails_env(first_time)**Executerails_env**Executedb:l

ruby-on-rails - 运行 "bin/rake assets:precompile"时未设置 I18n 加载路径!

我正在使用I18n-js,我的客户端I18n.t调用在生产环境中运行时都会返回翻译缺失消息。开发测试一切正常。这个问题的根源似乎在于Assets管道。I18n.load_path不包含我的任何翻译(当运行bin/rakeassets:precompile时)它只包含以下路径:["/home/chris/.rvm/gems/ruby-1.9.3-p125@Project/gems/activesupport-3.2.3/lib/active_support/locale/en.yml","/home/chris/.rvm/gems/ruby-1.9.3-p125@Project/gems

ruby - Ruby 守护进程中的错误文件描述符

在MacOSXLion上使用Rubyv1.8.7和Daemonsv1.1.8,我试图编写一个消费者进程并让它作为守护进程运行:#config[:name]=>'idx_my_delete_consumer'#config[:daemon]=>{:multiple=>false,#:backtrace=>true,#:dir_mode=>:normal,#:log_dir=>'/Users/pprakash/consumer.log',#:monitor=>true,#:dir=>'/Users/pprakash/pids'}Daemons.run_proc(config[:name],

ruby - 调试 Ruby 段错误

我如何确定段错误是由于不一致的库造成的,还是我正在使用的某些gem中的错误?$uname-aLinux[redacted]3.2.0-24-generic#39-UbuntuSMPMonMay2116:52:17UTC2012x86_64x86_64x86_64GNU/Linux$ruby1.9.1--versionruby1.9.3p0(2011-10-30revision33570)[x86_64-linux]$CPUPROFILE_OBJECTS=1CPUPROFILE=/tmp/my_app_profile_objectsRUBYOPT="-r`gem1.9.1whichper

ruby-on-rails - 在 Rails 应用程序中记录警告(不是错误),并管理它们

我正在寻找一个好的流程来处理Rails应用程序中的警告/信息类型的消息。例如,用户输入错误密码的次数,模型验证失败的次数等。特别是,我正在寻找一种有效的方法来操作这些指标,因为它们不是异常(exception),但可能表明潜在的错误或功能方面的问题。我正在考虑的解决方案是:记录WARNING或INFO消息并使用Splunk解析它们(不幸的是Splunk非常昂贵)在WARNING环境中发送Airbrake错误 最佳答案 你应该看看Papertrail作为Splunk+Airbrake的替代品。如果您只对日志记录感兴趣,这似乎更合适。

ruby-on-rails - Ruby on Rails + 设计 + I18n : how to set locale?

我在ApplicationController中使用before_filter为我的应用程序设置语言环境:classApplicationController它适用于我编写的Controller。但是所有devise的消息仍然是英文。在config/application.rb中设置config.i18n.default_locale="uk"(或其他)有效,所以我猜问题在于设计的Controller确实不要使用我的before_filter(可能它根本不继承ApplicationController(?))。如何解决这个问题?如何让设计使用我的语言环境?